CMAKE_MINIMUM_REQUIRED(VERSION 3.0)

PROJECT(HeadCounter)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib)

option(NOCRT "link crt static" OFF)


if (MSVC)
    #warning 4251
    SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4819 /wd4996 ")
    SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4819 /wd4996 ")
	
	if (NOCRT)
		set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /DWIN32 /MTd")
		set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /DWIN32 /MT")
	endif()
	
	set(CMAKE_SHARED_LINKER_FLAGS_DEBUG   "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /SAFESEH:NO")
	set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /OPT:NOREF /OPT:ICF /SAFESEH:NO")
	
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/bin)
    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/lib)
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/lib)

    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/bin)
    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/lib)
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/lib)
else()
	#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
	#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
endif()

if (CMAKE_PREFIX_PATH)
else()
    set (CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
	
    if (NOT CMAKE_PREFIX_PATH)
		if (WIN32)
			set (CMAKE_PREFIX_PATH e:/Qt/Qt5.8.0/5.8/msvc2015)
		else()
			set (CMAKE_PREFIX_PATH /home/terry/Qt5.8.0/5.8/gcc_64)
		endif()
    endif()
endif()

message("qt path: ${CMAKE_PREFIX_PATH}")

set(PROJECT_ROOT ${PROJECT_SOURCE_DIR})
set(COMN_DIR ${PROJECT_ROOT}/comn)
set(THIRD_PARTY ${PROJECT_ROOT}/third_party)

SET(OPENCV_DIR "E:/opencv/vs/install")
SET(OPENCV_INCLUDE ${OPENCV_DIR}/include)
SET(OPENCV_LIBRARY_DIR ${OPENCV_DIR}/x86/vc14/lib)
SET(OPENCV_LIBRARIES 
	debug opencv_core341d optimized opencv_core341
	debug opencv_imgproc341d optimized opencv_imgproc341
	debug opencv_highgui341d optimized opencv_highgui341
	debug opencv_video341d optimized opencv_video341
	debug opencv_videoio341d optimized opencv_videoio341
	debug opencv_imgcodecs341d optimized opencv_imgcodecs341
	)

if (CMAKE_HOST_WIN32)
    set(LIB_PLATFORM ws2_32 )
else()
    set(LIB_PLATFORM pthread rt)
endif()


ADD_SUBDIRECTORY(comn)
ADD_SUBDIRECTORY(http)

ADD_SUBDIRECTORY(DemoCount)

ADD_SUBDIRECTORY(HeadCounter)

